1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, systems, and products for application splitting for network edge computing.
2. Description of Related Art
The Internet and the World Wide Web operate primarily in a client-server model for data communications. The content being transferred is increasingly complex, and clients are increasingly diverse. It is becoming more and more difficult to efficiently deliver complex, varied content to increasingly diverse client devices. The increased demand results in more and more new devices, new servers, new clients to handle each new type of data.
In the conceptual client-server model, the client requests information from the server, and the server sends information back in the format requested by the client. This content delivery system was once considered ideal since one need only concentrate on processing at the “ends.” However, reality has demanded more, and in response new services have emerged. Caches near the client and on edge-delivery points make operations faster and lighten the network load. Gateways (such as those for wireless devices) help diverse groups of clients connect. Content Delivery Networks (CDNs) better organize the vast array of Internet content for the client. All these services have grown independently of one another, however, making extensions and new services vendor-specific and hard to manage. With the evolution of diverse client devices, content providers are forced to offer data in every necessary format for every device, personal data assistants (PDAs), personal computers (PCs), cell phones, laptop computers, e-book readers, and others. Servers are forced to handle differences between the formats available and the formats the client can accept.
The network edge architecture provides a means to address the complexities that have grown for “in the network” services. The term “network edge” is usually used to describe a physical or network boundary of an entity in the Internet. For example, network edges could be the set of access points of an Internet Service Provider (“ISP”) or the intranet of an enterprise network. “Network edge” can also mean a distinguished point of content delivery, such as the boundary of a country, a point at which it is useful to translate data into an appropriate language or format. The network edge is the point where content processing can occur in the path of content delivery.
The network edge architecture is a collection of technologies for performing part of the content delivery processes for transferring data between clients and servers. Its architecture is a unified approach to developing software and hardware for performing content delivery functions. Network edge architecture allows for operations such as data transcoding. Content providers can offer data in a single, standard format regardless of the type of client device, and network edge architecture makes it easier to provide a format for the presentation suited to the device. For example, a content provider may store content in a single format, regardless of the type of client device that may request the content, and the network edge technology may reformat the content for the receiving device. A rule-based service running on an edge server or an edge network makes the appropriate data transformations based on standardized protocols for various devices.
Consider an example of a movie delivery. With network edge technology, consumers see the movie in the format appropriate to their devices and their personal tastes. The content provider no longer has to worry about the device on which the movie will be viewed, because the burden of data transformation is removed from content providers and servers. Instead, data transformation is consolidated at the network edge.
In the traditional client/server architecture, customer information and client device interfaces must be managed on the client device or on the content server. That is, the customer is required to re-enter data, and the server is required to cope with client diversity issues, whether the client device is a cell phone, a PDA, a laptop, a personal computer, and so on.
The transfer and reformulation of content from provider to client happens in several steps. A client's request is amended, that is, personalized, in accordance with known information retained in the server with additional needed data being entered from the client. For example, the client may be using a cell phone to access the World Wide Web or an email service. This requires that the server send back only content appropriate to that cell phone interface and progress through voice menus or keyboard menus to obtain customer specifics. In the network edge architecture, an edge server amends the client's request to specify the appropriate cell phone interface. Then the edge server communicates with content servers to fill in customer data, thereby simplifying customer interaction. Then the edge server amends the request to the content servers to obtain data that is then reformulated by the edge serve to fit the client's device. The appropriate content is then downloaded to the client device in a manner suitable for the client device.
The network edge server resides between the client and the content servers and serves as an agent for both the customer and the content provider. When the client sends out a request for content, a network edge server amends the request, typically based on a set of predefined rules, according to the customer's information. The edge server then sends the amended request on to the content server, possibly with some exchange to the content server as indicated previously. The content server is relieved of the burden of amending the request or reformulating the content. Any transformation of content that is needed will happen at the network edge server using standard protocols. In this way, network edge architecture simplifies the information required from the content provider to address different formats needed for different devices.
Network edge architecture represents a growing shift from the traditional client-server model to a more efficient client-edge-server model. When content-level services are performed at the network edge, content providers can offer personalized, scalable services. With network edge architecture, the edge plays a role that is currently forced on both client and server. Application software that was installed entirely on a content server or an application server in the traditional client-server architecture now may be deployed to the an edge network. In addition, application software that was installed entirely on a content server or an application server in the traditional client-server architecture now may be split, and in many cases, must be split, between the content server and the edge. It would be useful to have automated tools to identify how an application should be prepared for deployment to the edge and how to split the application if necessary.